<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 内嵌式js -->
    <script>
        alert('骆驼祥子')
    </script>
    <!-- 外部js -->
    <script src="my.js"></script>
</head>
<body>
      <!-- 1.0.行内式的js直接写到元素的内部 -->
      <input type='button' value='按钮' onclick="alert('hi')">
    
     <!-- 2.0 -->
     <script>
    //这是一个输入框，用户可以输入
        prompt('请输入年龄')
    // 这是一个警示框，浏览器弹出警示框
        alert('计算的结果是')
    // console 控制台输出
    console.log('程序员专用')
    </script>
     <!-- 3.0 变量 -->
     <script>
        // 1,声明一个age的变量
        var age;
        // 2. 赋值 把值存到这个变量中
        age = 1;
        // 3.输出结果
        console.log(age);
        // 4.变量的初始化
        var name = pink;
        console.log(name);
     </script>

     <!-- 4.0 变量案例弹出用户名 -->
     <script>
        // 1,用户名输入姓名,存储到一个myname的变量里面
        var myname = prompt('请输入您的名字')
        // 2.输出这个用户名
        alert(myname)
     </script>

     <!-- 5.0 变量语法扩展案例 -->
     <script>
        // 1.更新变量
        var myname = 'pink'
        console.log(myname);
        myname = '迪迪'
        console.log(myname);
        // 2. 声明多个变量
        // var age = 'pink'
        // var address = '火影村'
        // var gz = 2000
        var age = 18
            address = '火影村'
            gz = 2000
        // 3.声明变量的特殊情况
        // 3.1 只声明不赋值，结果是？ 程序也不知道里面存的是啥，所以结果是
        //  undefined 未定义的
        var sex
        console.log(sex); //undefined
        // 3.2 不声明不赋值 直接使用
        console.log(tel); 
        // 3.3 不声明直接赋值使用
        qq = 10;
        console.log(qq);
     </script>

     <!-- 6.0 交换两个变量值的案例-->
     <script>
        // js是编程语言具有逻辑性：
        // 1.首先需要一个临时变量temp
        // 2，把apple1 给临时变量temp
        // 3. 把apple2 里面的苹果给apple1
        // 4. 把临时变量里面得值给apple2
        var temp //声明一个临时变量为空
        var apple1 = '青苹果';
        var apple2 = '红苹果';
        temp = apple1 //把右边给左边
        apple1 = apple2;
        apple2 = temp; 
        console.log(apple1);
        console.log(apple2);
     </script>

     <!-- 7.0 变量的数据类型 -->
     <script>
        var num = 10 //num属于数字型
        // js的变量类型只有程序在运行过程中，根据等号右边的值来确定的
        var str = 'pink' // str是字符串
        // js是动态语言，变量的数据类型是可以变化的
        var x = 10 //x是数字型
        x = 'pink' //x是字符串型
     </script>

     <!-- 8.0 数字型Number -->
     <script>
        var num = 10 //数字型
        var PI = 3.14 //数字型
        // 1.八进制 0~7 我们程序里面数字前面加0 表示八进制
        var num1 = 010;
        console.log(num1); //010 八进制 转换为10进制 就是 8
        var num2 = 012 
        console.log(num2);
        // 2.十六进制 0~9，a~f #fffff 数字前面加0x表hi十六进制
        var num3 = 0x9
        console.log(0x9);
        //3 数字型最大值
        console.log(Number.MAX_VALUE);
        // 4 数字最小值
        console.log(Number.MIN_VALUE);
        // 5 非数字
        console.log('pink' - 100); //NaN
        // 6 isNaN()这个方法用来判断非数字 并且返回一个值，如果是数字就返回
        // false，如果不是数字返回的是true
        console.log(isNaN(12)); //false
        console.log(isNaN('pink')); //true
        
     </script>
</body>
</html>